what are the requirements of java program run and compile